Fixed the accessibility hierarchy of the message view to allow the accessibility...
[adiumx.git] / Plugins / Dual Window Interface / AIMessageViewController.h
blob19fa4fbbe5381f72b4823891a50c16ab11f0bb6a
1 /*
2 * Adium is the legal property of its developers, whose names are listed in the copyright file included
3 * with this source distribution.
4 *
5 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
6 * General Public License as published by the Free Software Foundation; either version 2 of the License,
7 * or (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
10 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
11 * Public License for more details.
13 * You should have received a copy of the GNU General Public License along with this program; if not,
14 * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 #import "ESChatUserListController.h"
18 #import "AISideSplitView.h"
19 #import "KNShelfSplitView.h"
20 #import <Adium/AIInterfaceControllerProtocol.h>
22 @class AIAccount, AIListContact, AIListObject, AIAccountSelectionView, AIMessageTabSplitView, AIMessageEntryTextView;
23 @class AIMessageWindowController, AIMessageWindowOutgoingScrollView;
25 @interface AIMessageViewController : AIObject <AIListControllerDelegate> {
26 IBOutlet NSView *view_contents;
28 //Split views
29 IBOutlet AIMessageTabSplitView *splitView_textEntryHorizontal;
32 //Message Display
33 NSView *controllerView_messages;
34 IBOutlet AIMessageWindowOutgoingScrollView *scrollView_messages;
35 IBOutlet NSView *customView_messages;
37 //User List
38 IBOutlet AIAutoScrollView *scrollView_userList;
39 BOOL retainingScrollViewUserList;
40 IBOutlet AIListOutlineView *userListView;
41 ESChatUserListController *userListController;
43 //Text entry
44 IBOutlet NSScrollView *scrollView_outgoing;
45 IBOutlet AIMessageEntryTextView *textView_outgoing;
47 IBOutlet NSView *nibrootView_messageView;
48 IBOutlet NSView *nibrootView_shelfVew;
49 IBOutlet NSView *nibrootView_userList;
52 NSObject<AIMessageDisplayController> *messageDisplayController;
53 AIAccountSelectionView *view_accountSelection;
54 AIMessageWindowController *messageWindowController;
57 //widgetstrip
58 IBOutlet KNShelfSplitView *shelfView;
60 //menuitem
61 NSMenuItem * showHide;
63 AIChat *chat;
64 BOOL suppressSendLaterPrompt;
65 int entryMinHeight;
66 BOOL ignorePositionChangesForMinimumHeight;
67 int userListMinWidth;
70 + (AIMessageViewController *)messageDisplayControllerForChat:(AIChat *)inChat;
71 - (void)messageViewWillLeaveWindowController:(AIMessageWindowController *)inWindowController;
72 - (void)messageViewAddedToWindowController:(AIMessageWindowController *)inWindowController;
73 - (AIChat *)chat;
75 - (AIListContact *)listObject;
76 - (AIListObject *)preferredListObject;
78 //Message Display
79 - (NSView *)view;
80 - (void)adiumPrint:(id)sender;
82 //Message Entry
83 - (IBAction)sendMessage:(id)sender;
84 - (IBAction)didSendMessage:(id)sender;
85 - (IBAction)sendMessageLater:(id)sender;
87 //Account Selection
88 - (void)redisplaySourceAndDestinationSelector:(NSNotification *)notification;
89 - (void)setAccountSelectionMenuVisibleIfNeeded:(BOOL)makeVisible;
91 //Text Entry
92 - (void)makeTextEntryViewFirstResponder;
93 - (void)clearTextEntryView;
94 - (void)addToTextEntryView:(NSAttributedString *)inString;
95 - (void)addDraggedDataToTextEntryView:(id <NSDraggingInfo>)draggingInfo;
97 //User List
98 - (void)setUserListVisible:(BOOL)inVisible;
99 - (BOOL)userListVisible;
101 //splitview
102 -(void)setupShelfView;
103 // -(void)collapseShelfView;
104 -(void)toggleUserlist:(id)sender;
106 - (void)tabViewDidChangeVisibility;
108 @end